package lvm.struct;

import lvm.LvmException;

public interface Sexpr {
	/**
	 * @return le CAR de la Sexpr
	 * @throws LvmException
	 */
	public Sexpr getCar() throws LvmException;
	
	/**
	 * @return le CDR de la Sexpr
	 * @throws LvmException
	 */
	public Sexpr getCdr() throws LvmException;
	
	/** Évalue la S-expr
	 * @return le résultat de l'évaluation de la S-expr
	 */
	public Sexpr eval() throws LvmException;
	
	/**
	 * @return La représentation textuelle de la Sexpr
	 */
	public String toString();
	
	public boolean equals(Sexpr arg) throws LvmException;
}
